2021 Research Projects

Projects are posted below; new projects will continue to be posted. To learn more about the type of research conducted by undergraduates, view the archived symposium booklets and search the past SURF projects.

This is a list of research projects that may have opportunities for undergraduate students. Please note that it is not a complete list of every SURF project. Undergraduates will discover other projects when talking directly to Purdue faculty.

You can browse all the projects on the list or view only projects in the following categories:


Deep Learning (8)

 

Accelerator Architecture Lab at Purdue (AALP): Optimizing Simulators for Advanced Processor Development 

Description:
Modern processor design and research in both industry and academia rely on early-stage modeling and simulation. The ideas that make up every CPU, GPU, and accelerator you have ever used started their life in cycle-level C++ processor simulation. Today, much of the progress we see in the processor industry comes from specialization (i.e. Google’s TPU) and acceleration (i.e. GPGPU computing, such as NVIDIA’s CUDA). The Accelerator Architecture Lab at Purdue (AALP) develops a popular open-source GPU simulator called Accel-Sim that models modern NVIDIA GPUs executing compute workloads, like those commonly used in machine learning. Intimate details of the actions taken on each cycle of a real processor are modeled in Accel-Sim’s C++ code, such that new architectural ideas can be explored and empirically evaluated on real workloads. Simulating such an advanced, scaled system consumes a significant amount of CPU-time and memory (for some workloads - on the order of a TB!). This summer project involves understanding the high-level design of GPUs, the basic operation of CUDA, and optimizing the simulator infrastructure to consume orders of magnitude less memory at runtime, enabling larger and more complex workloads to be simulated. The successful completion of the project will see the student contribute to a highly-visible piece of open-source software and develop foundational skills to work at hardware design companies like Intel, AMD, NVIDIA, Qualcomm, Microsoft, and many others.

More information: https://accel-sim.github.io
Group Website: https://engineering.purdue.edu/tgrogers/group/aalp.html
Research categories:
Big Data/Machine Learning, Deep Learning, Other
Preferred major(s):
Computer Engineering, Computer Science
Desired experience:
C/C++ and Python experience Knowledge of computer architecture a plus
School/Dept.:
ECE
Professor:
Timothy Rogers

More information: https://engineering.purdue.edu/tgrogers/

 

Accelerator Architecture Lab at Purdue (AALP): Modeling Diverse GPU Architectures in C++ Simulation 

Description:
Modern processor design and research in both industry and academia rely on early-stage modeling and simulation. The ideas that make up every CPU, GPU, and accelerator you have ever used started their life in cycle-level C++ processor simulation. Today, much of the progress we see in the processor industry comes from specialization (i.e. Google’s TPU) and acceleration (i.e. GPGPU computing, such as NVIDIA’s CUDA). The Accelerator Architecture Lab at Purdue (AALP) develops a popular open-source GPU simulator called Accel-Sim that models modern NVIDIA GPUs executing compute workloads, like those commonly used in machine learning. Intimate details of the actions taken on each cycle of a real processor are modeled in Accel-Sim’s C++ code, such that new architectural ideas can be explored and empirically evaluated on real workloads. Although the basic design of GPUs share many similarities across generations and vendors, each part and company have subtle differences that can greatly affect their performance on critical applications, such as those found in machine learning. This summer project involves understanding the high-level design of GPUs, the basic operation of CUDA, and modeling the performance of bleeding-edge GPU parts from both NVIDIA (an Ampere A100) and AMD. The successful completion of the project will see the student contribute to a highly-visible piece of open-source software and develop foundational skills to work at hardware design companies like Intel, AMD, NVIDIA, Qualcomm, Microsoft, and many others.

More information: https://accel-sim.github.io
Group Website: https://engineering.purdue.edu/tgrogers/group/aalp.html
Research categories:
Big Data/Machine Learning, Deep Learning, Other
Preferred major(s):
Computer Engineering, Computer Science
Desired experience:
C/C++. Computer Architecture and Digital Design Background. Students should be comfortable reading assembly language (ECE 362 equivalent)
School/Dept.:
ECE
Professor:
Tim Rogers

More information: https://engineering.purdue.edu/tgrogers/

 

Analyzing educational teamwork dataset using quantitative and NLP techniques  

Description:
Teamwork is an essential competency highly valued by both academia and industry, especially for engineers who usually work in a small group. With tens of years' development, our research group, the Comprehensive Assessment of Team Member Effectiveness (CATME), had collected millions of survey data, including peer comments. The selected SURF student will join our research group to assist with data cleaning, preparation, and analysis for educational or technical research related to teamwork, and perhaps NLP (NLP is not necessary but a plus).
Research categories:
Big Data/Machine Learning, Deep Learning, Learning and Evaluation, Other
Preferred major(s):
ECE, CS, IE, education, social science, management, linguistics, and others
Desired experience:
data analysis experience with R, Python, and etc.; familiar with NLP and software programming would be a plus.
School/Dept.:
Engineering Education
Professor:
Matthew Ohland

More information: https://info.catme.org/

 

Automatically Detecting and Fixing Software Bugs and Vulnerabilities  

Description:
In this project, we will develop cool machine learning approaches to automatically learn bug/vulnerability patterns and fix patterns from historical data to detect and fix software bugs and security vulnerabilities. This project is partially funded by a Facebook Research Award (https://research.fb.com/programs/research-awards/proposals/probability-and-programming-request-for-proposals/).

Earlier work can be found here: https://www.cs.purdue.edu/homes/lintan/publications/deeplearn-tse18.pdf
Research categories:
Big Data/Machine Learning, Cybersecurity, Deep Learning, Other
Preferred major(s):
Compuer Science; Computer Engineering
Desired experience:
Good programming skills and strong motivation in research are required. Background in security or machine learning is a plus.
School/Dept.:
Computer Science
Professor:
Lin Tan

More information: https://www.cs.purdue.edu/homes/lintan/

 

Deep Learning applications in agriculture 

Description:
This project will use public and custom datasets of images/sounds/videos for training deep learning models and explore methods to improve generalization abilities of the trained models.
Research categories:
Deep Learning
Preferred major(s):
Computer Engineering, Computer Science, Electrical Engineering, Computer and Information Technology
Desired experience:
Python programming and exposure to ML/deep learning libraries is preferred
School/Dept.:
Agricultural and Biological Engineering
Professor:
Dharmendra Saraswat
 

Enhancing Human-Robot Interaction Using Wearable Technologies 

Description:
While intelligent systems promise to extend human capabilities within occupational settings, workers must increasingly collaborate with artificial intelligence (AI) to achieve desired outcomes. This research aims at enhancing bi-directional interaction between workers and robots at the construction jobsites by obtaining continuous neurophysiological and psychophysiological data from workers. The developed personalized AI will measure, adapt, and enhance the skill performance of the next generation of the workforce to work safely and communicate effectively in the future automated jobsites.
Research categories:
Big Data/Machine Learning, Deep Learning, Engineering the Built Environment
Preferred major(s):
All Engineering Fields or Neuroscience
Desired experience:
Programming (Python, Matlab, C++), Data Analytics (Machine learning, Deep-learning) Seeking applicants who are creative and passionate to explore new areas
School/Dept.:
School of Civil engineering and CEM
Professor:
Sogand Hasanzadeh
 

On-Line Programming Assessment 

Description:
Computer programs are difficult to evaluate due to the large number of possibilities. Existing evaluation systems are restricted to simple programs or impose restrictions to limit possibilities. This project aims to build an online assessment system that can evaluate non-trivial programs and assist students learning computer programming.
Research categories:
Big Data/Machine Learning, Cybersecurity, Deep Learning, Learning and Evaluation
Preferred major(s):
computer engineering, computer science, electrical engineering
Desired experience:
at least two courses on computer programming
School/Dept.:
Electrical and Computer Engineering
Professor:
Yung-Hsiang Lu
 

Reliable Deep Learning Software  

Description:
We will build cool and novel techniques to make deep learning code such as TensorFlow and PyTorch reliable and secure. We will build it on top of our award winning project (https://www.cs.purdue.edu/homes/lintan/publications/variance-ase20.pdf), which won an ACM SIGSOFT Distinguished Paper Award! There may be opportunities to collaborate with Microsoft. See below for more details.

Machine learning systems including deep learning (DL) systems demand reliability and security. DL systems consist of two key components: (1) models and algorithms that perform complex mathematical calculations, and (2) software that implements the algorithms and models. Here software includes DL infrastructure code (e.g., code that performs core neural network computations) and the application code (e.g., code that loads model weights). Thus, for the entire DL system to be reliable and secure, both the software implementation and models/algorithms must be reliable and secure. If software fails to faithfully implement a model (e.g., due to a bug in the software), the output from the software can be wrong even if the model is correct, and vice versa.

This project aims to use novel approaches including differential testing to detect and localize bugs in DL software (including code and data) to address the testing oracle challenge. Good programming skills and strong motivation in research are required. Background in deep learning and testing is a plus.
Research categories:
Big Data/Machine Learning, Deep Learning, Other
Preferred major(s):
Computer Science; Computer Engineering; Data Science
School/Dept.:
Computer Science
Professor:
Lin Tan

More information: https://www.cs.purdue.edu/homes/lintan/